package jdk8.function.interfaceX;

import java.util.Arrays;
import java.util.Comparator;

/**
 * Lambda做返回值
 *
 **/
public class Demo04Comparator {
    // 通过方法来获取一个```java.util.Comparator```接口类型的对象作为排序器
    public static Comparator<String> getCompatator() {
        // 匿名内部类
        /*return new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                // 按照字符串的长度降序排序
                return o2.length() - o1.length();
            }
        };*/

        // Lambda
        /*return (String o1, String o2) -> {
            return  o2.length() - o1.length();
        };*/
        // 优化Lambda
        return (o1, o2) -> o2.length() - o1.length();

    }

    public static void main(String[] args) {
        String[] arr = {"aaa", "bb", "cccc"};
        System.out.println("排序前: " + Arrays.toString(arr));

        Arrays.sort(arr, getCompatator());
        System.out.println("排序后: " + Arrays.toString(arr));


    }
}
